package utils;

/**
 * @file OS.java
 * @author Juan Humanes Ferrer
 * @date 04-Marzo-2014
 * @description Clase utilizada para saber el sistema operativo
 */

public class OS {

    /**
     * Método que retorna el sistema operativo
     *
     * @return OS
     */
    public static String getNameOS() {
        return System.getProperty("os.name");
    }

    /**
     * Método que retorna el separador dependiendo del SO
     *
     * @return separator
     */
    public static String getDirectorySeparator() {
        String separator = "\\";
        if (!getNameOS().contains("Windows"))//No es Windows
        {
            separator = "//";
        }

        return separator;

    }

    /**
     * Método que retorna el separador doble dependiendo del SO
     *
     * @return separator
     */
    public static String getDoubleDirectorySeparator() {
        String separator = "\\\\";
        if (!getNameOS().contains("Windows"))//No es Windows
        {
            separator = "////";
        }

        return separator;

    }

    /**
     * Método que retorna el directorio raiz de un SO
     *
     * @return
     */
    public static String getDirectory() {
        String separator = "C:";
        if (!getNameOS().contains("Windows"))//No es Windows
        {
            separator = "//";
        }

        return separator;

    }

    /**
     * Método que retorna la ruta donde se encuentra el ejecutable de R en un SO
     *
     * @return
     */
    public static String getR() {
        String separator = getDirectory() + "\\R-3.0.3\\bin\\Rscript.exe ";
        if (!getNameOS().contains("Windows"))//No es Windows
        {
            separator = "//usr//bin//Rscript ";
        }

        return separator;

    }

    /**
     * Método que retorna la ruta donde se encuentra el ejecutable de Python en
     * un SO
     *
     * @return
     */
    public static String getPython() {
        String separator = getDirectory() + "\\Python27\\python.exe ";
        if (!getNameOS().contains("Windows"))//No es Windows
        {
            separator = "//usr//bin//python ";
        }

        return separator;

    }

}
